package com.example.demofin.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("decd_product")
public class Product implements Serializable {

    /**
     * 产品编号
     */
    @TableId
    private String chapbhao;

    /**
     * 产品名称
     */
    private String chapqcmc;

    /**
     * 发行日期
     */
    private String capclirq;

    /**
     * 到期日期
     */
    private String chapdqrq;

    /**
     * 货币代号 156-人民币
     */
    private String huobdaih;

    /**
     * 存期
     */
    private String cunqiiii;

    /**
     * 允许转让标志 0-允许 1-不允许
     */
    private String yunxzhra;

    /**
     * 认购起点金额
     */
    private BigDecimal rengqdje;

    /**
     * 金额增量
     */
    private BigDecimal jezengli;

    /**
     * 总额度
     */
    private BigDecimal zongeduu;

    /**
     * 实际利率
     */
    private BigDecimal shijlilv;

    /**
     * 记录状态 0-正常 1-不正常
     */
    private String jiluztai;

    /**
     * 备用字段1
     */
    private String beiyzd01;

    /**
     * 备用字段2
     */
    private String beiyzd02;

    /**
     * 是否白名单产品 0-否 1-是
     */
    private String bmdleix;

//    @TableField(exist = false)
//    private static final long serialVersionUID = 1L;

    /**
     * 产品编号
     */
    public String getChapbhao() {
        return chapbhao;
    }

    /**
     * 产品编号
     */
    public void setChapbhao(String chapbhao) {
        this.chapbhao = chapbhao;
    }

    /**
     * 产品名称
     */
    public String getChapqcmc() {
        return chapqcmc;
    }

    /**
     * 产品名称
     */
    public void setChapqcmc(String chapqcmc) {
        this.chapqcmc = chapqcmc;
    }

    /**
     * 发行日期
     */
    public String getCapclirq() {
        return capclirq;
    }

    /**
     * 发行日期
     */
    public void setCapclirq(String capclirq) {
        this.capclirq = capclirq;
    }

    /**
     * 到期日期
     */
    public String getChapdqrq() {
        return chapdqrq;
    }

    /**
     * 到期日期
     */
    public void setChapdqrq(String chapdqrq) {
        this.chapdqrq = chapdqrq;
    }

    /**
     * 货币代号 156-人民币
     */
    public String getHuobdaih() {
        return huobdaih;
    }

    /**
     * 货币代号 156-人民币
     */
    public void setHuobdaih(String huobdaih) {
        this.huobdaih = huobdaih;
    }

    /**
     * 存期
     */
    public String getCunqiiii() {
        return cunqiiii;
    }

    /**
     * 存期
     */
    public void setCunqiiii(String cunqiiii) {
        this.cunqiiii = cunqiiii;
    }

    /**
     * 允许转让标志 0-允许 1-不允许
     */
    public String getYunxzhra() {
        return yunxzhra;
    }

    /**
     * 允许转让标志 0-允许 1-不允许
     */
    public void setYunxzhra(String yunxzhra) {
        this.yunxzhra = yunxzhra;
    }

    /**
     * 认购起点金额
     */
    public BigDecimal getRengqdje() {
        return rengqdje;
    }

    /**
     * 认购起点金额
     */
    public void setRengqdje(BigDecimal rengqdje) {
        this.rengqdje = rengqdje;
    }

    /**
     * 金额增量
     */
    public BigDecimal getJezengli() {
        return jezengli;
    }

    /**
     * 金额增量
     */
    public void setJezengli(BigDecimal jezengli) {
        this.jezengli = jezengli;
    }

    /**
     * 总额度
     */
    public BigDecimal getZongeduu() {
        return zongeduu;
    }

    /**
     * 总额度
     */
    public void setZongeduu(BigDecimal zongeduu) {
        this.zongeduu = zongeduu;
    }

    /**
     * 实际利率
     */
    public BigDecimal getShijlilv() {
        return shijlilv;
    }

    /**
     * 实际利率
     */
    public void setShijlilv(BigDecimal shijlilv) {
        this.shijlilv = shijlilv;
    }

    /**
     * 记录状态 0-正常 1-不正常
     */
    public String getJiluztai() {
        return jiluztai;
    }

    /**
     * 记录状态 0-正常 1-不正常
     */
    public void setJiluztai(String jiluztai) {
        this.jiluztai = jiluztai;
    }

    /**
     * 备用字段1
     */
    public String getBeiyzd01() {
        return beiyzd01;
    }

    /**
     * 备用字段1
     */
    public void setBeiyzd01(String beiyzd01) {
        this.beiyzd01 = beiyzd01;
    }

    /**
     * 备用字段2
     */
    public String getBeiyzd02() {
        return beiyzd02;
    }

    /**
     * 备用字段2
     */
    public void setBeiyzd02(String beiyzd02) {
        this.beiyzd02 = beiyzd02;
    }

    /**
     * 是否白名单产品 0-否 1-是
     */
    public String getBmdleix() {
        return bmdleix;
    }

    /**
     * 是否白名单产品 0-否 1-是
     */
    public void setBmdleix(String bmdleix) {
        this.bmdleix = bmdleix;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Product other = (Product) that;
        return (this.getChapbhao() == null ? other.getChapbhao() == null : this.getChapbhao().equals(other.getChapbhao()))
                && (this.getChapqcmc() == null ? other.getChapqcmc() == null : this.getChapqcmc().equals(other.getChapqcmc()))
                && (this.getCapclirq() == null ? other.getCapclirq() == null : this.getCapclirq().equals(other.getCapclirq()))
                && (this.getChapdqrq() == null ? other.getChapdqrq() == null : this.getChapdqrq().equals(other.getChapdqrq()))
                && (this.getHuobdaih() == null ? other.getHuobdaih() == null : this.getHuobdaih().equals(other.getHuobdaih()))
                && (this.getCunqiiii() == null ? other.getCunqiiii() == null : this.getCunqiiii().equals(other.getCunqiiii()))
                && (this.getYunxzhra() == null ? other.getYunxzhra() == null : this.getYunxzhra().equals(other.getYunxzhra()))
                && (this.getRengqdje() == null ? other.getRengqdje() == null : this.getRengqdje().equals(other.getRengqdje()))
                && (this.getJezengli() == null ? other.getJezengli() == null : this.getJezengli().equals(other.getJezengli()))
                && (this.getZongeduu() == null ? other.getZongeduu() == null : this.getZongeduu().equals(other.getZongeduu()))
                && (this.getShijlilv() == null ? other.getShijlilv() == null : this.getShijlilv().equals(other.getShijlilv()))
                && (this.getJiluztai() == null ? other.getJiluztai() == null : this.getJiluztai().equals(other.getJiluztai()))
                && (this.getBeiyzd01() == null ? other.getBeiyzd01() == null : this.getBeiyzd01().equals(other.getBeiyzd01()))
                && (this.getBeiyzd02() == null ? other.getBeiyzd02() == null : this.getBeiyzd02().equals(other.getBeiyzd02()))
                && (this.getBmdleix() == null ? other.getBmdleix() == null : this.getBmdleix().equals(other.getBmdleix()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getChapbhao() == null) ? 0 : getChapbhao().hashCode());
        result = prime * result + ((getChapqcmc() == null) ? 0 : getChapqcmc().hashCode());
        result = prime * result + ((getCapclirq() == null) ? 0 : getCapclirq().hashCode());
        result = prime * result + ((getChapdqrq() == null) ? 0 : getChapdqrq().hashCode());
        result = prime * result + ((getHuobdaih() == null) ? 0 : getHuobdaih().hashCode());
        result = prime * result + ((getCunqiiii() == null) ? 0 : getCunqiiii().hashCode());
        result = prime * result + ((getYunxzhra() == null) ? 0 : getYunxzhra().hashCode());
        result = prime * result + ((getRengqdje() == null) ? 0 : getRengqdje().hashCode());
        result = prime * result + ((getJezengli() == null) ? 0 : getJezengli().hashCode());
        result = prime * result + ((getZongeduu() == null) ? 0 : getZongeduu().hashCode());
        result = prime * result + ((getShijlilv() == null) ? 0 : getShijlilv().hashCode());
        result = prime * result + ((getJiluztai() == null) ? 0 : getJiluztai().hashCode());
        result = prime * result + ((getBeiyzd01() == null) ? 0 : getBeiyzd01().hashCode());
        result = prime * result + ((getBeiyzd02() == null) ? 0 : getBeiyzd02().hashCode());
        result = prime * result + ((getBmdleix() == null) ? 0 : getBmdleix().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", chapbhao=").append(chapbhao);
        sb.append(", chapqcmc=").append(chapqcmc);
        sb.append(", capclirq=").append(capclirq);
        sb.append(", chapdqrq=").append(chapdqrq);
        sb.append(", huobdaih=").append(huobdaih);
        sb.append(", cunqiiii=").append(cunqiiii);
        sb.append(", yunxzhra=").append(yunxzhra);
        sb.append(", rengqdje=").append(rengqdje);
        sb.append(", jezengli=").append(jezengli);
        sb.append(", zongeduu=").append(zongeduu);
        sb.append(", shijlilv=").append(shijlilv);
        sb.append(", jiluztai=").append(jiluztai);
        sb.append(", beiyzd01=").append(beiyzd01);
        sb.append(", beiyzd02=").append(beiyzd02);
        sb.append(", bmdleix=").append(bmdleix);
//        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
    
}
